package org.example.com.mapper;

import org.apache.ibatis.annotations.Mapper;
import org.example.com.pojo.ServiceReservation;

import java.util.List;

/**
 * 服务预约Mapper接口
 */
@Mapper
public interface ServiceReservationMapper {
    
    /**
     * 提交服务预约
     * @param serviceReservation 服务预约信息
     */
    void submit(ServiceReservation serviceReservation);
    
    /**
     * 根据用户ID获取服务预约历史
     * @param userId 用户ID
     * @return 服务预约列表
     */
    List<ServiceReservation> getHistoryByUserId(int userId);
    
    /**
     * 根据ID获取服务预约详情
     * @param id 预约ID
     * @return 服务预约信息
     */
    ServiceReservation getById(int id);
    
    /**
     * 更新服务预约状态
     * @param id 预约ID
     * @param status 新状态
     */
    void updateStatus(int id, String status);
    
    /**
     * 删除服务预约
     * @param id 预约ID
     */
    void delete(int id);
    
    /**
     * 根据用户ID和状态获取预约列表
     * @param userId 用户ID
     * @param status 状态
     * @return 服务预约列表
     */
    List<ServiceReservation> getByUserIdAndStatus(int userId, String status);
    
    /**
     * 获取所有服务预约（管理员用）
     * @return 服务预约列表
     */
    List<ServiceReservation> getAll();
}
